Solo soy un principiante en la codificación Swift. Mi idea es bastante simple, que es una aplicación con dos botones. Al hacer clic, un campo de texto cambiará su texto. En Main.StoryBoard, agrego un campo de texto y dos botones. En el archivo ViewController.swift. Escribo así: importar UIKit clase ViewController: UIViewController { @IBOutlet campo de texto var débil: UITextField! @IBOutlet botón var débil: UIButton! @IBOutlet débil var button2: UIButton! @IBAction func action1 (_ remitente: UIButton) { textfield.text = "acabas de hacer clic en el botón1" } @IBAction func action2 (_ remitente: UIButton) { textfield.text = "acabas de hacer clic en el botón2" } } Se supone que está bien. Sin embargo, aparece un error que muestra: thread1: señal SIGABRT en el archivo AppDelegate.swift line: clase AppDelegate: UIResponder, UIApplicationDelegate ¿Qué pasa con mi código?
2021-01-15 08:18:36
Para resolver el problema, primero limpie el proyecto y luego reconstruya. Para limpiar el proyecto, vaya a MenuBar: Producto -> Limpiar Luego, para reconstruir el proyecto, simplemente haga clic en el botón Ejecutar como de costumbre. | Obtiene un error SIGABRT cada vez que tiene una toma de corriente desconectada. Haga clic en su controlador de vista en el guión gráfico y vaya a conexiones en el panel lateral (el símbolo de flecha). Vea si tiene un tomacorriente adicional allí, un duplicado o uno adicional que no esté conectado. Si no es así, tal vez no haya conectado correctamente sus salidas a su código. Solo recuerde que SIGABRT ocurre cuando intenta llamar a una salida (botón, vista, campo de texto, etc.) que no está allí. | Para mí no fue una salida. Resolví el problema yendo al error y leyendo lo que decía. (También Noob ..) Este fue el error: Y la solución estaba aquí: Simplemente desplácese hacia arriba en la salida y se revelará el error. | Una razón común para este tipo de error es que puede haber cambiado el nombre de su IBOutlet o IBAction; simplemente puede verificar esto yendo al código fuente. Haga clic en main.storyboard y luego seleccione abrir como y luego seleccione el código fuente el código fuente se abrirá y luego verifique si existe el nombre del iboutlet o ibaction que ha cambiado, si lo hay, seleccione la parte y elimínela y luego vuelva a crear iboutlet o ibaction. Esto debería resolver tu problema | En mi caso, no recibía un error, solo el bloqueo en el AppDelegate y tuve que desmarcar la siguiente opción: OS_ACTIVITY_MODE, entonces pude obtener el motivo real del bloqueo en mi archivo .xib Espero que esto también pueda ayudarte :) | Yo tuve el mismo problema. Hice un botón en el guión gráfico y lo conecté al ViewController, y luego eliminé el botón. Entonces, la conexión todavía estaba allí, pero el botón no, y obtuve el mismo error que tú. Arreglar: Vaya al inspector de conexiones (la flecha en la esquina superior derecha, en su guión gráfico) y elimine las conexiones no utilizadas. | Si se encuentra con esto en Xcode 10, tendrá que limpiar antes de compilar. O cambie al sistema de compilación heredado. Archivo -> Configuración del espacio de trabajo ... -> Sistema de compilación: Sistema de compilación heredado. | En mi caso no había ningún registro. Mi error fue insertar un controlador de vista en una pila de navegación que ya formaba parte de la pila de navegación. | A veces también sucede cuando la función debe ejecutarse solo en el hilo principal, por lo que puede solucionarlo asignándolo al hilo principal de la siguiente manera: DispatchQueue.main.async { tu código aquí } | Para mí, este error se debió a que tenía un paso de preparación de segue que no se aplicaba a la segue que se estaba realizando. larga historia: override func prepare (para segue: UIStoryboardSegue, sender: Any?) { deje gosetup = segue.destination como! Actualizar gosetup.wherefrom = updatestring } Esto se estaba haciendo con todos los segue cuando era solo para uno. Así que creo un booleano y coloqué el gosetup dentro de él. | Este es un error muy común y puede ocurrir por múltiples razones. Lo más común es cuando un IBOUTLET / IBACTION conectado a un controlador de vista en el guión gráfico se elimina del archivo rápido pero no del guión gráfico. Si este no es el caso, use el registro en la barra de herramientas inferior para averiguar cuál es el error y diagnosticarlo. Puede utilizar puntos de interrupción y depuración para ayudarle a encontrar el error. Para averiguar cómo solucionar el error, utilice este artículo que encontré en Google: https://rayaans.com/fixing-the-notorious-sigabrt-error-in-xcode | En mi caso, estaba usando RxSwift para realizar búsquedas. Seguí usando extensamente una instancia compartida de una clase en particular dentro del método onNext, lo que probablemente lo hizo inaccesible (Mutex). Asegúrese de que estos casos se manejen con cuidado solo cuando sea absolutamente necesario. En mi caso, hice uso de un par de variables de antemano para almacenar de manera segura (y secuencial) los valores de retorno de los métodos de la instancia compartida, y los reutilicé dentro del bloque onNext. | Yo tuve el mismo problema. En mi caso, simplemente sobrescribí el archivo. GoogleService-Info.plist en ese camino: Plataforma \ ios \ YOUR_APP_NAME \ Resources \ Resources En mi caso, los archivos estaban presentes sin datos. | Pregunta muy activa. Gana 10 de reputación para responder a esta pregunta. El requisito de reputación ayuda a proteger esta pregunta del spam y de la actividad sin respuesta. No es la respuesta que estás buscando? Lea otras preguntas con la etiqueta ios swift o formule su propia pregunta.